package com.ym.medical.service;

import com.github.pagehelper.PageInfo;
import com.ym.core.utils.tkmybatis.IBaseSV;
import com.ym.medical.domain.entity.DoctorStudioEntity;
import com.ym.medical.domain.param.DoctorStudioQueryParam;
import com.ym.medical.domain.vo.*;

import java.util.List;

/**
 * 医生工作室Service接口
 *
 * @author ym
 * @date 2020-08-24
 */
public interface IDoctorStudioSV extends IBaseSV<DoctorStudioEntity> {


	/**
	 * 获取医生的工作室
	 *
	 * @param doctId
	 * @return
	 */
	DoctorStudioEntity getDoctorStudio(Long doctId);

	/**
	 * 工作室相关的状态查询
	 * @param id
	 * @return
	 */
	DoctorStudioStatusViewVo studioRelatedStatusView(Long loginId);

	/**
	 * 查询工作室信息，
	 *
	 * @param doctId
	 * @return
	 */
	DoctorStudioInfoVo queryDoctorStudio(Long doctId);

	/**
	 * 查询友医工作室列表
	 *
	 * @param keywords
	 * @param userId
	 * @return
	 */
	List<DoctorStudioVo> friendMedicalStudioList(String keywords, Long loginId);

	/**
	 * 友医工作室详情接单量
	 *
	 * @param doctorId
	 * @return
	 */
	FriendWorkDetailVo friendStudioDetailOrdersCount(Long doctorId, Long dsId);

	/**
	 * 友医工作室-账单明细
	 *
	 * @param workId
	 * @return
	 */
	List<FriendWorkDetailOrderVo> friendStudioDetailOrders(Long doctorId, Long dsId, String status);

	/**
	 * 查询平台的工作室列表,未加入的
	 *
	 * @param id       工作室ID
	 * @param keywords
	 * @param userId
	 * @return
	 */
	List<DoctorStudioVo> searchQueryStudioList(Long id, String keywords, Long loginId);

	/**
	 * 获取当前工作室
	 * @return
	 */
	DoctorStudioEntity getCurrStudio();

	/***
	 * 全科医生工作室
	 * @param queryParam
	 * @return
	 */
	List<DoctorStudioVo> generalStudioList(DoctorStudioQueryParam queryParam);

	/**
	 * 专科医生友医工作室列表
	 * @param pageNo
	 * @param limit
	 * @param doctId
	 * @return
	 */
	PageInfo<DoctorStudioVo> specialistFriendDoctor(int pageNo, int limit, long doctId);
}
